package cn.abcsys.cloud.devops.web.service;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import cn.abcsys.cloud.devops.web.entity.Authority;
import cn.abcsys.cloud.devops.web.entity.GridBean;
import cn.abcsys.cloud.devops.web.entity.PagerModel;
import cn.abcsys.cloud.devops.web.entity.RoleAction;

/**
 * 权限服务接口
 * @author xzg
 *
 */
public interface AuthorityService {
	/**
	 * 获取菜单权限列表
	 * @author xzg
	 * @param map
	 * @return
	 */
	List<Authority> getUserRoleAuths(Map<String,Integer> map);
	
	
	/**
	 * 获取按钮权限
	 * @author xzg
	 * @param map
	 * @return
	 */
	List<Authority> getUserButtonAuths(Map<String,Integer> map);
	
	/**
	 * 查询超级管理员的所有权限,
	 * map 根据map条件不同查询分为菜单权限和按钮权限
	 * @return
	 */
	List<Authority> getAdminRoleAuths(Map<String,?> map);
	
	
	/**
	 * @author xzg
	 * @param authority
	 * @param pagerModel
	 * @return
	 */
	public GridBean getAuthoritys(Authority authority,HttpSession session,PagerModel pagerModel);
	
	/**
	 * 为角色增加权限信息
	 * @author xzg
	 * @param raList
	 * @return
	 */
	public int addRoleActions(List<RoleAction> raList);
	
	/**
	 * 修改权限信息
	 * @param authority
	 * @return
	 * @throws SQLException
	 */
	public int updateAction(Authority authority) throws SQLException;
}
